Secure mechanical verification of mutually recursive procedures

نویسندگان

  • Peter V. Homeier
  • David F. Martin
چکیده

The veriication of programs that contain mutually recursive procedures is a diicult task, and one which has not been satisfactorily addressed in the literature. Published proof rules have been later discovered to be unsound. Veriication Condition Generator (VCG) tools have been eeective in partially automating the veriication of programs, but in the past these VCG tools have in general not themselves been proven, so any proof using and depending on these VCGs might not be sound. In this paper we present a set of proof rules for proving the partial correctness of programs with mutually recursive procedures, together with a VCG that automates the use of the proof rules in program correctness proofs. The soundness of the proof rules and the VCG itself have been mechanically proven within the Higher Order Logic theorem prover, with respect to the underlying structural operational semantics of the programming language. This proof of soundness then forms the core of an implementation of the VCG that signiicantly eases the veriication of individual programs with complete security.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Mechanical Verification of Mutually Recur - sive Procedures for Parsing Expressions us - ing Separation Logic TUCS

This paper adds support for mutually recursive procedures on top of a predicate transformer semantics of imperative programs with pointers implemented in PVS theorem prover. We define and prove correct a collection of mutually recursive procedures which constructs the parsing tree of an expression generated by a context free grammar. We use separation logic to specify and verify these procedure...

متن کامل

Trustworthy Tools for Trustworthy Programs: Automatic Verification of Mutually Recursive Procedures

Verification Condition Generator (VCG) tools have been effective in simplifying the task of proving programs correct. However, in the past these VCG tools have in general not themselves been mechanically proven, so any proof using and depending on these VCGs might have contained errors. In our work, we define and rigorously prove correct a VCG tool within the HOL theorem proving system, for a s...

متن کامل

Program Variables – The Core of Mechanical Reasoning about Imperative Programs

Imperative programming languages are widely used in practice in most of the software development projects. Examples of such languages include C, C++, C#, Java, Pascal, and many more. This thesis is concerned with reasoning about imperative programs. We study both refinement (the construction of correct programs starting from specifications) and correctness (an already written program is proved ...

متن کامل

GSLHA: Group-based Secure Lightweight Handover Authentication Protocol for M2M Communication

Machine to machine (M2M) communication, which is also known as machine type communication (MTC), is one of the most fascinating parts of mobile communication technology and also an important practical application of the Internet of Things. The main objective of this type of communication, is handling massive heterogeneous devices with low network overheads and high security guarantees. Hence, v...

متن کامل

A New Structural Induction Scheme for Proving Properties of Mutually Recursive Concepts

Structural induction schemes have been used for mechanically proving properties of self-recursive concepts in previous research. However, based on those schemeq, it becomes very difficult to automatically generate the right induction hypotheses whenever the conjectures are involved with mutually recursive concepts. This paper will show that the difficulties come mainly from the weak induction s...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • Inf. Comput.

دوره 187  شماره 

صفحات  -

تاریخ انتشار 2003